package com.example.train_operate.controller;

import com.example.train_operate.service.impl.TaskServiceImpl;
import com.example.train_operate.util.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiOperationSupport;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

@RestController
@CrossOrigin
@Api(tags = "任务管理接口")
@RequestMapping("/task")
public class TaskController {

    @Resource
    private TaskServiceImpl taskService;

    /**
     * 查询任务详情列表
     * @return
     */
    @ApiOperation("查询任务详情列表")
    @GetMapping("/selectTaskDetailList")
    public Result selectTaskDetailList(){
        return taskService.selectTaskDetailList();
    }

    /**
     * 查询巡检过程中正常数和异常数
     * @return
     */
    @ApiOperation("查询巡检过程中正常数和异常数")
    @GetMapping("/selectTotalCount")
    public Result selectTotalCount(){
        return taskService.selectTotalCount();
    }

    /**
     * 管理员查询全部任务详情列表
     * @return
     */
    @ApiOperation("管理员查询全部任务详情列表")
    @GetMapping("/selectAllTaskDetailList")
    public Result selectAllTaskDetailList(){
        return taskService.selectAllTaskDetailList();
    }

    /**
     * 管理员删除某次任务
     * @return
     */
    @ApiOperation("管理员删除某次任务")
    @DeleteMapping("/deleteTask/{id}")
    public Result deleteTask(@PathVariable Integer id){
        return taskService.deleteTask(id);
    }

    /**
     * 管理员查询各机柜检修正常数
     * @return
     */
    @ApiOperation("管理员查询各机柜检修正常数")
    @GetMapping("/selectAllTaskNormalCount")
    public Result selectAllTaskNormalCount(){
        return taskService.selectAllTaskNormalCount();
    }

    /**
     * 管理员查询各机柜检修异常数
     * @return
     */
    @ApiOperation("管理员查询各机柜检修异常数")
    @GetMapping("/selectAllTaskAbnormalCount")
    public Result selectAllTaskAbnormalCount(){
        return taskService.selectAllTaskAbnormalCount();
    }

}
